/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package localizacao.banco;

import estruturas.IdString;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import principal.banco.bd;

/**
 *
 * @author J.C.Lazzarim
 */
public class bd_pais
{

    public static List<IdString> getPais() throws SQLException
    {
        ResultSet t = null;
        IdString[] saida = null;
        ArrayList<IdString> array = null;
//        try
//        {
        PreparedStatement p = bd.getConnection().prepareStatement("SELECT * FROM pais order by nome asc");

        t = p.executeQuery();

        array = new ArrayList<>();

        while (t.next())
        {
            IdString mb = new IdString();
            mb.setId(t.getInt("kpais"));
            mb.setString(t.getString("nome"));

            array.add(mb);
            //System.out.println(t.getString("cidades"));
        }
        //System.out.println(t.getInt(t.findColumn("kuser")));
        //saida = array.toArray();

        //System.out.println(t.getInt(t.findColumn("kuser")));
        if (array.isEmpty())
        {
            // tela_erro tela = new tela_erro("Não há país cadastrado.");
        } else
        {
            //return new pessoa(t).getPessoa();
        }
//        } catch (SQLException ex)
//        {
//            tela_erro tela_erro = new tela_erro(ex.getMessage());
//        }

        return array;
    }

    public static boolean addPais(String pais) throws SQLException
    {
        String sql = "INSERT INTO pais(nome) "
                + "VALUES(?) ";
        PreparedStatement p = bd.getConnection().prepareStatement(sql);
        p.setString(1, pais);
        p.execute();
//        try
//        {
//        bd.query(sql);

//        } catch (SQLException ex)
//        {
//            tela_erro tela_erro = new tela_erro("Erro ao cadastrar pais!\n" + ex + "\n" + sql);
//            return false;
//        }
        return true;
    }

    public static void removePais(List<IdString> lista) throws SQLException
    {
        for (IdString a : lista)
        {
            String sql = "DELETE FROM pais WHERE kpais = '?'; ";
            PreparedStatement p = bd.getConnection().prepareStatement(sql);
            p.setInt(1, a.getId());
            p.execute();
//            try
//            {
//            bd.query(sql);

//            } catch (SQLException ex)
//            {
//                tela_erro tela_erro = new tela_erro("Erro ao deletar pais!\n" + ex + "\n" + sql);
//            }

        }

    }

    public static boolean editPais(int ID, String pais) throws SQLException
    {
        String sql = "UPDATE pais SET nome = '" + pais + "' WHERE kpais =  " + ID;
        
        PreparedStatement p = bd.getConnection().prepareStatement(sql);
        p.setString(1, pais);
        p.setInt(2, ID);
        p.execute();
        
//        try
//        {
//        bd.query(sql);
//
//        } catch (SQLException ex)
//        {
//            tela_erro tela_erro = new tela_erro("Erro ao editar pais!\n" + ex + "\n" + sql);
//            return false;
//        }
        return true;
    }
}
